package com.tc.dispatch.csservice.ejb;

import java.rmi.*;
import java.util.*;

import com.tc.dispatch.csservice.exception.*;
import com.tc.dispatch.csservice.model.*;
import javax.ejb.*;
import com.tc.dispatch.csservice.algorithm.CostAlgorithm;
import com.tc.dispatch.gsservice.model.OrderSumMain;

import com.tc.dispatch.csservice.filter.ComponentFilter;
import com.tc.dispatch.csservice.algorithm.calculation.Calclation;
import com.tc.dispatch.csservice.algorithm.adjust.Adjust;

public interface CSService
    extends javax.ejb.EJBObject {


  public void createMaoPi(MaoPiDanJia maopi) throws CSException, RemoteException;

  public void updateMaoPi(MaoPiDanJia maopi) throws CSException, RemoteException;

  public void deleteMaoPi(String ssign) throws CSException, RemoteException;

  public MaoPiDanJia getMaoPi(String ssign) throws CSException, RemoteException;

  public MaoPiDanJia findMaoPi(String wherestring) throws CSException, RemoteException;

  public List findAllMaoPis() throws CSException, RemoteException;



  public List findUndoBaoJia() throws CSException, RemoteException;
  public double getSimilarCost(String ssign, String spec, int fac) throws CSException, RemoteException;




  public double generateEstimateCost(Product p) throws RemoteException;
  public int getMPTotalNums(String  whereStr) throws CSException, RemoteException;
  public List findMaoPiByPagesWhereStr(int start, int limit, String whereStr) throws CSException, RemoteException;
  public void removeMaoPi(int id) throws CSException, RemoteException;
  public void updateManuCost(ManuCost mc) throws CSException, RemoteException;
  public List findManuCost(String whereStr) throws CSException, RemoteException;
  public List findMinManuCostByPage(int start, int limit, String whereStr) throws CSException, RemoteException;
  public int getMinManuCostTotalNums(String whereStr) throws CSException, RemoteException;
  public void createProcsDetail(ProcsDetail pd) throws CSException, RemoteException;
  public void updateProcsDetail(ProcsDetail pd) throws CSException, RemoteException;
  public void removeProcsDetail(ProcsDetail pd) throws CSException, RemoteException;
  public List findProcsDetail(String whereStr) throws CSException, RemoteException;
  public CostAlgorithm getCostAlgorithm() throws RemoteException;
  public void generateCaiLiaoFee() throws RemoteException;
  public void generateProcessFee() throws RemoteException;
  public void generateCaiLiaoFeeDiff() throws RemoteException;
  public void generateProcessFeeDiff() throws RemoteException;
  public List getSortedCombinedSimOrder(Product p) throws RemoteException;
  public CostEstimateDetail getCostEstimateDetail(OrderSumMain osm, List ossList) throws RemoteException;
  public CostEstimateDetail getCostEstimateDetail(OrderSumMain osm, List ossList, ComponentFilter filter) throws RemoteException;
  public List CostEstimateCopy(OrderSumMain osmTo, List ossListTo, OrderSumMain osmFrom, List ossListFrom) throws RemoteException;
  public List CostEstimateAdjust(OrderSumMain osm, List ossList, Adjust adj, List osmList, HashMap ossMap) throws RemoteException;
  public List CostEstimateAdjust(OrderSumMain osm, List ossList, String type) throws RemoteException;
  public List CostEstimateAdjust(OrderSumMain osm, List ossList, Adjust adj, List osmList) throws RemoteException;
  public void runGPA(OrderSumMain osm) throws RemoteException;
  public void runBP(int type) throws RemoteException;
  public int[] predicatorNum(String A, int type) throws RemoteException;

}